[Attachment(s) from Tom Kerekes included below]
Hi Jack,
Here is the patch for the Gcode Viewer:
http://dynomotion.com/Software/Patch/FixBaxisGViewerRadiusPlot_V434i/KMotionCNC.exe
Although for your new example that consists of small B Axis Angle changes it isn't really needed. The fluted cylinder example was somewhat unusual in that it had the large B changes of 60 degrees and larger.
Attached is a plot of your new "wavy" GCode. It seems to be commanding B only about 310 degrees rather than all the way around 360 degrees.
The issue with 4+ axes GCode is that although the GCode might define how to move all the axes to create the part, it is difficult/impossible for the Trajectory Planer to know how fast to move the axes in order to be cutting at the specified feedrate. Where the cutting tool is with regard to the axes of rotation and the direction of the motion relative to the XYZ axes motion and so forth becomes very complicated. All the Kinematics of the system needs to be considered to do it properly. Without that the Trajectory Planner has on idea what the cutting feedrate will be when any angular axis is moved.
The Degrees+Radius mode is simple workaround that way works ok in some cases. It tells the Trajectory Planner to assume that the cutting tool will be at the specified radius from the axis of rotation. This makes it simple for the TP to know how fast to rotate the axis to move the cutting tool at a desired speed. It also makes the assumption that any angular motion will be in a direction perpendicular to any other motions caused by the other axes. So for example in your case if the B Axis causes 1 inch of motion and the Y axis also causes 1 inch of motion, and the desired feedrate is 1000ipm then the B Axis and Y Axis should both be moved at 707ipm to achieve this.
G93 is a completely different approach. It pushes all the work up to the CAD/CAM system to consider all the Kinematics itself and determine exactly how much time each line of GCode motion should take to execute to achieve the proper cutting rate. Because each line of GCode is likely to move the cutting tool different distances it is unlikely that it would make sense for two GCode motions to be executed in the same amount of time. So each line expects and requires a time (inverse feedrate) value.
HTH
Regards
TK
On 7/10/2017 7:28 PM, 'Jack' jackgiz@... [DynoMotion] wrote:
Hi Tom,
Thanks for looking into to this for me. I’ve changed the PostP to specify the B axis instead of A. I also changed the Z zero from the center of rotation to the perimeter of the cylinder. I would certainly be interested in the patch for the viewer.
The example of the fluted cylinder was step one to prove out that I could generate a PostP for wrapping and to learn how to do wrapping in Aspire. However, longer term I am interested in doing shaped forms. I’ve attached a picture and Gcode of an example. Will something like this be possible?
If I select the degrees check box in the B axis motion parameters what radius do I enter? Why is a radius required if I enter a number for Cnts/deg?
When I run the simulation I get an error “F word missing with inverse time g1 move”. It doesn’t seem to matter if the G93 command is in the code or not. Does each line of code require a speed command also?
Jack
Hi Jack,
I was looking at the original code and:
#1 Scaled the X axis to be degrees
#2 Global replace of X -> B
#3 Subtracted 3 inches from Z (to be relative to 6 inch diameter)
Then I configured the KMotion CNC B Axis as Degrees Radius=3.0
I think the B Axis angle should be used for rotation around the Y axis.
But that showed up a bug in GCode Viewer with regard to big Angle Changes (normally for short GCode vectors a straight line worked ok, but it doesn't for big B angles)
Here is a GViewer Simulation after fixing the bug:
https://youtu.be/fr4csTrJvL0
I can provide you a patch if you are interested.
Let us know how it works out.
Regards
TK
On 7/9/2017 3:36 PM, 'Jack' jackgiz@... [DynoMotion] wrote:
Hi Tom,
Forget the previous email. I figured out how to modify the Mach3 Wrapped PostP to work with KmtionCNC. I’m now getting an A axis and angular movement. It appears I have solved the theoretical side of the problem, now to see if it translates to the practical side.
Attached is a copy of the GCode for the side fluted cylinder I sent earlier but after using the updated PostP.
Jack
Hi Jack,
Are you using Mach3 or KMotionCNC?
What are you trying to accomplish?
How does your system work? Could you command multiple revolutions? ie A0 to A3600 to do 10 revolutions of 360 degrees?
KMotionCNC doesn't support any "wrapping" in the sense that A359 to A1 would just be a +2 degree move.
Regards
TK
Tom,
I'm building a 4th axis for my CNC machine and will be generating the \G code files in Aspire. The tutorials say to use a post processor for your machine that has the word "wrap" in the title. For example:
Mach 2/3-WrapYtoA ATC (inch).
Here are the only PP in the Aspire list for EMC2:
EMC2-G61 arcs(inch)
EMC2-G64 arcs (inch) neither of which seem to have anything to do with a 4th axis
and
EMC2-arcs(inch) which is the one I normally use.
Any suggestions?
Jack